home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / lists / gem / l_1199 / 1062 < prev    next >
Internet Message Format  |  1994-08-27  |  8KB

  1. From: Mark.Baker@mettav.exnet.com (Mark Baker)
  2. Date: 24 Jul 94  11:10:10
  3. Message-Id: <UUCP.775073466@mettav>
  4. Subject: Digest
  5. To: gem-list@world.std.com (gem-list@world.std.com)
  6. Precedence: bulk
  7.  
  8. I'm afraid this is rather a long digest - my mail feed has been down for a few
  9. days and I've just got about 200 messages all at once :)
  10.  
  11. Ofir:
  12.  >> Question: How does ST-Guide handle displaying help if the user selects a
  13.  >> help button inside a dialog?
  14.  >
  15.  > Answer: It doesn't, because your dialog called wind_update().
  16.  
  17. Correct answer: It works perfectly - you do use non-modal dialogues don't you?
  18. :)
  19.  
  20. Warwick:
  21.  > However, people are only just starting to multitask on the Atari.  Now
  22.  > is the time to get things `right'. There is still hope.  Imagine a
  23.  > system where an application would co-operate with other applications to
  24.  > pass keyboard events to the window under the mouse, or some other
  25.  > focussing scheme (GEM treats focus==top, in the hope that it is far
  26.  > more efficient to update a top window, but in reality, this is not the
  27.  > case [I've done timing on it*]).  Of course, I'd never get 10% of you to
  28.  > agree... and that's okay.
  29.  
  30. Why would you want keyboard events to go to a window under the top, if you've
  31. got to click to set the focus, why not top as well. If you don't have to click
  32. to set the focus (eg. under the mouse) the system is unusable as you can easily
  33. end up typing in the wrong window.
  34.  
  35. Timothy:
  36.  > We're saying to stop using dialogs.
  37.  >
  38.  > Ok... you just threw away part of the OS and told peope to replace it
  39.  > with their own code (or a library).
  40.  
  41. The extra code is fairly minimal - wait for events, if it's a keyboard event
  42. and the top window is your dialogue, call objc_find, form_keybd and objc_edit.
  43. If it's a button event, use wind_find and if it returns your dialogue call
  44. objc_find, form_button and if necessary objc_draw. Very little extra code. The
  45. FLDLIB library (a simple lib that does little more than I described) is about
  46. 4k.
  47.  
  48. Steven:
  49.  > With all this talk of GUI libraries how about porting (or reimplementing
  50.  > a cut down version of) a multi-platform GUI library on top of GEM
  51.  > that would give an API usable on Win32/System7/X platforms.
  52.  > It's not that I don't like GEM, it's just that I'm looking to the day
  53.  > when Ataris are no more and I have to move my source to a
  54.  > Clown/PowerPC/Unix box...
  55.  
  56. There are multiplatform libraries, but unfortunately none support the atari. If
  57. you were to write one you would have to make it flexible enough that a program
  58. could use entirely it's calls (and ISO C library calls) and no normal
  59. aes/vdi/gemdos/bios/xbios calls.
  60.  
  61. The other problem with this type of library is that they are limited to
  62. supporting the `lowest common denominator' of the systems they support. They
  63. cannot support extra features of one that do not exist on others. Also some
  64. GUIs like mswindoze have one window per app (not necessarily, but by
  65. convention), menus in windows and horrible submenus. The atari and the mac have
  66. multiple windows and a menu at the top of the screen. Writing a library so apps
  67. behave naturally in both is difficult, for example in an mswindows drawing
  68. program you would have a window with the toolbox and menu bar and sub windows
  69. with files in, whereas on the atari you would have a separate toolbar window.
  70. OTOH if an app only supports one window it would not use subwindows under
  71. mswindows.
  72.  
  73. Mark-Oliver:
  74.  > I thought there IS a program which patched MultiTOS to do all (even in
  75.  > the desktop!) dialogs in windows!
  76.  
  77. It's called Multidialogue or something (multdial.prg IIRC) and it puts all
  78. dialogues in windows, so they are app modal. It should work with Geneva and
  79. MagiC as well - it works on single-tasking versions, where it lets you use
  80. accs.
  81.  
  82. Ofir:
  83. [dialogues in window]
  84.  >> Errr... What happens if you run out of windows?
  85.  >
  86.  > You display a dialog of course. Not much else yu can do. However, with
  87.  > MTOS, Geneva, Magic and WinX this problem is less crucial.
  88.  
  89. And without them it is unlikely to occur.
  90.  
  91. ???:
  92.  > The lower-level support is that a dialogue can be modal for its own
  93.  > application, but allows you to switch to other applications.  This
  94.  > COULD be provided by OS extension for existing apps.  eg when an app
  95.  > puts up a modal dialogue (from its own point of view), the OS still gives
  96.  > access to OTHER apps, but does not give access to other windows of that
  97.  > app. I think this can be done transparently to old code, and gives us what
  98.  > we really want.  (It would be nice if I can start editing another
  99.  > document while printing from Calamus, say. But it's not the end of the
  100.  > world if Calamus is blocked out while printing, but I can switch to another
  101.  > app to get on with something else).
  102.  
  103. This is what you get with multidialogue. As for calamus letting you print and
  104. edit simultaneously this would definitely require calamus to be partly
  105. rewritten and for reasonable performance you really need multithreading which
  106. is sort of possible under MiNT.
  107.  
  108. Julian:
  109.  > Really? What about objc_edit() which can't clip to a rectangle list?
  110.  
  111. But no problem if you only allow top windows to be used, as is standard on the
  112. atari.
  113.  
  114. Dan:
  115.  >> GEM is not going to change to match my philosophy; so we're writing a
  116.  >> GEM Library to *match* the philosophy. There is no reason why users have
  117.  >> to be stuck in the dark ages in terms of a user interface.
  118.  >> I'm not sure I understand your emphasis?  Match -what-?  The GEM
  119.  >> philosophy (topped windows and all the other stuff you hate but is
  120.  >> standard) or your own philosophy?  Coud you be more clear on this.
  121.  >
  122.  > My philosophy : I want a *consistent*, *intuitive*, *easy to use*, *easy
  123.  > to program* GUI that is powerful and fast. Currently GEM is *none* of
  124.  > these.
  125.  
  126. If you allow clicks in background windows then it will not be consistent with
  127. other applications. Topping windows on all clicks in them may not be desirable
  128. but it _is_ consistent with existing GEM programs and with programs for the mac
  129. and mswindows. As for intuitive, since keystrokes obviously go to the top
  130. window only, why not buttons. It isn't intuitive if button events sometimes top
  131. a window and sometimes activate a button depending on where they are. I can't
  132. see anything wrong with GEM on the ease of use front and as for ease of
  133. programming - it's pretty bad, but have you tried mswindows?
  134.  
  135. Christian:
  136.  >
  137.  
  138. Looks like Ofir started a trend :)
  139.  
  140. Joe:
  141.  > If you donate ANY amount for your own use and Holger will be delighted!
  142.  > Anyone can include it for FREE with their software BUT
  143.  > *I'm* suggesting (like Andre) that developers might like to give more
  144.  > than the minimum donation since if you've gone to the trouble of creating
  145.  > a hypertext you're certainly making considerable use of it. *I* would be
  146.  > dissappointed to see developers taking the attitude that they're doing
  147.  > their bit by supporting ST-Guide in the first place it's a valid POV but
  148.  > not mine!
  149.  
  150. Certainly commercial software developers should pay, freeware authors should
  151. not be forced to pay but treated as end users. I will be paying at least the
  152. minimum but if I were forced to then I would not support it at all.
  153.  
  154. Dan:
  155.  > I've used MTOS enough to be disgusted with it. It's a piece of crap. Slow,
  156.  > and inefficient.
  157.  
  158. Which version? I've seen the first 4.1 beta and it is almost as fast as single
  159. tasking versions of TOS, although it doesn't work properly on the falcon.
  160. Apparently the second beta is faster still.
  161.  
  162.  > WinLIB PRO supports all MTOS messages, and with WinX and normal TOS we
  163.  > can support almost all the AES 4.* stuff, and do it *faster* -- without
  164.  > having the overhead of dragging MiNT along with us when it's not needed.
  165.  
  166. There is almost no overhead due to MiNT. On average the slowdown is negligible
  167. and many things such as memory allocation are a bit faster.
  168.  
  169.  
  170.  
  171.